﻿//-----------------------------------------------------------------------
// <copyright file="RuleEngineServiceLocator.cs" company="tuliprules.org">
//     Copyright (c) 2010 tuplelister, tuliprules.org.
// </copyright>
// <summary>This is the RuleEngineServiceLocator class.</summary>
//-----------------------------------------------------------------------

namespace Tulip.Rules
{
    /// <summary>
    /// A service locator for the Rule Engine class
    /// </summary>
    internal class RuleEngineServiceLocator
    {
        /// <summary>
        /// Locates services for the Rule Engine.
        /// </summary>
        /// <param name="ruleSet">
        /// A rule set.  the locator uses metadat provided by the rule set to instantiate service objects.
        /// </param>
        public void Locate(RuleSet ruleSet)
        {
            throw new System.NotImplementedException();

            /* Things to locate:
             * 
             * Type-specific selector
             * Working memory
             * Agenda
             * Model Transform
             * Executor Factory
             * 
             * We will need to base selection on type-specific selector that knows how to 
             * read metadata content from the ruleset content / model.   Maybe use default
             * selection implemented in RuleEngineServiceLocator.
             * */
        }
    }
}
